Dynamic SQL statements allows one to build Structured Query Language (SQL) statements dynamically at runtime. Unlike static SQL statements, the full text of the dynamic SQL statement is not known at the application's bind time. In an ad hoc query environment, performance of dynamic SQL statements is an important priority. To optimize dynamic SQL statement's performance, the prepared or bound form of the SQL statement is often saved in the in-memory global dynamic statement cache. Then, for the next request to prepare the dynamic SQL statement for execution, a copy of the bound form of the SQL statement from the cache may be used. However, the storage of the bound form of the dynamic SQL statement in the in-memory cache is not persistent and only provide stabilization for dynamic queries over an instance of a database system. Further, stabilization is not realized across different version of the database system. Once the bound form of the SQL statement is deleted from the cache, the dynamic SQL statement must be prepared again. Even when the access plan for the dynamic SQL statement is persistently stored and reused, there is no guarantee that the same bound form will result when the prepare process is repeated using the stored access plan.